package com.qf;

/**
 * 演示如何创建线程，执行异步操作
 */
public class ThreadDemo {

    public static void main(String[] args) throws InterruptedException {

        // 如何给线程分配任务呢？
        // 把任务对象，在线程的构造方法中传入 即可。

        //1. 创建线程
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                // 打印当前正在运行该方法的线程的名字
                System.out.println(Thread.currentThread().getName()+":开始任务");
                // 休眠1秒钟
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
                // 任务完成
                System.out.println(Thread.currentThread().getName()+":完成任务!");
            }
        });

        //2. 设置线程的名字
        thread.setName("qfsy2305");

        //3. 启动线程
        thread.start();

        Thread.sleep(100);

        //4. 主线程会不会等到 qfsy2305线程把任务执行完后才继续执行下面的代码呢？
        System.out.println(Thread.currentThread().getName()+":执行完毕!");


    }

}
